package com.free.sequence;

import com.free.sequence.basic.BasicSequence;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
public class SequenceManager {
    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/

    public static ISequence get(ENUM_SEQUENCE_TYPE sequenceType){
        if(sequenceType.equals(ENUM_SEQUENCE_TYPE.BASIC)){
            return BasicSequence.instance();
        }
        return null;
    }

    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/


    public enum ENUM_SEQUENCE_TYPE{

        BASIC("basic"),REDIS("redis"),ZOOKEEPER("zookeeper");

        String type;

        ENUM_SEQUENCE_TYPE(String type){
            type = type;
        }

        public String getType(){
            return this.type;
        }

        public boolean isEqual(ENUM_SEQUENCE_TYPE temp){
            for(ENUM_SEQUENCE_TYPE seq : ENUM_SEQUENCE_TYPE.values()){
                if(seq.getType().equals(temp.getType())){
                    return true;
                }
            }
            return false;
        }
    }
}
